VisualHMI - 数据记录控件

什么是数据记录控件?

image-20231128155648004

数据记录控件可以实时将数据显示在表格。同一时刻,将不同的数据形成一条记录,添加到表格显示。最大支持100个通道(100列参数显示),且支持掉电存储、导出、翻页、清除等等

本文档介绍历史数据记录的常用的应用:

  1. 数据采集:导出、翻页等功能
  2. 特殊应用

使用范围:VisualHMI - HMI&M系列

入门应用:VisualHMI - 数据记录控件(点击下载)

1.属性说明

1.1.基本设置

数据记录控件的基本设置输入如下所示:

image-20231128160357760

  1. 数据来源:可以选择“资料采集”、“配方数据”。

    • 资料采集::采集同一寄存器的数据,将不同时刻的数据记录在表格上,详细属性说明:请参考VisualHMI - 资料采集(点击查看)

      • 字符串表格:√。若资料采集设置里面,配置的数据类型为字符串,此处“√”后,将以字符串方式显示出来。

      • 时间排序:时间顺序、逆序

      • 日期/时间:显示时间、显示日期、显示时间和日期

    • 配方数据:配方的内容显示到表格上,详细参考VisualHMI - 配方应用(点击查看)如下所示:

      • 配方数据索引:选择对应的配方集

      • 直接编辑配方:√,勾选后,点击表格参数,直接修改 image-20231128160739706

  2. 通道数量:数据通道的数量

  3. 表格设置:设置表格的标题、文本宽度; image-20231128163122734

  4. 自动列宽:各列按比例自动调整宽度;默认勾选

    • 勾选:自动按照表格设置的比例调整每一列的宽度。如下所示,5个通道、自动列宽,即显示序号+时间+5个通道。如控件宽度为490,显示的每一列会遵循60:140:100:100:100:100:100 image-20231128161604853
    • 不勾选:按照“表格设置”的参数调整。

      自动按照表格设置每一列的像素宽度,显示每一列宽度,如控件宽度为490,第1列为60像素宽度、第2列为140宽度的像素、第3列为100宽度的像素、第4列为100宽度的像素、第5列为100宽度的像素、第6列为100宽度的像素、第7列为90宽度的像素。

      • 无:时间+序号+5个通道,可以通过滚动条拖动查看 Video_2023-11-28_164325
      • 1列:序号固定:时间+5个通道,可以通过滚动条拖动查看 Video_2023-11-28_164547
      • 2列:序号+时间固定,5个通道可以通过滚动条拖动查看 Video_2023-11-28_164714
  5. 每行页数:每页行数;

  6. 显示滚动条:√,垂直方向。勾选后设置超过行数时,显示滚动条;

  7. 手势滑动:设置可以手动滑动

  8. 翻页控制

    • Addr+0,设置数据记录的翻页:。1-上一页(第一行方向);2-下一页;3-首页(第一行);4-尾页(最后以后);

    • Addr+1,读取翻页操作是否可行:BIT1表示 “上一页”、BIT2表示“下一页”、BIT3表示“首页”、“BIT4”表示尾页。若该位为1,表示翻页可以执行;若该位为0,表示翻页操作不可以执行

    • Addr+2~Addr+3,时间戳定位:UINT32,时间戳定位,可以搭配下拉菜单关联,当下拉选择对应的时间,滚动条会自动定位到对应的时间节点。精度天为单位

    • Addr+4~Addr+5,选中行通知:UINT32,表示选中的行号,索引从0开始。

1.2.外观设置

数据记录控件的外观设置属性如下所示:

  1. 默认字体:字库选择

  2. 字体大小:字号设置

  3. 文字颜色:字体颜色设置

  4. 字体对齐:可设置左、居中、右

  5. 显示标题:√

    • 标题文字颜色:可单独设置标题的文字颜色
  6. 显示网格:√

    • 网格颜色:设置网格的颜色

    • 边框颜色:设置边框的颜色

  7. 显示背景:√

    • 标题背景颜色:可单独设置标题背景的纯色图片

    • 背景颜色:数据表格内容的背景颜色

  8. 奇偶分行:√;可设置“背景颜色2”的颜色值

image-20231128170028157

2.应用

2.1.数据采集

2.1.1.资料采集配置

资料采集配置,如下所示:

  1. 描述信息:历史数据

  2. 采集模式:定时采样;

  3. 记录条数:2000;

  4. 采样周期:1;

  5. 采样单位:秒;

  6. 数据地址:LW1010

    • 数据类型:UINT16

    • 数据个数:100

  7. 控制地址:LW1001

  8. 导出标题:$标题,选择对应的表头标签

  9. 采样控制地址:LW1000

    • 启动模式OFF→ON

image-20231128172930490

2.1.2.数据记录控件配置

画面中添加一个数据记录表格,属性配置如下所示:

  1. 数据来源:资料采集,资料取样索引为“[0]历史数据”

    • 时间顺序:时间逆序

    • 时间日期:显示时间

  2. 通道数:为100。和资料采集→数据个数→100一致

  3. 自动列宽:不勾选

    • 固定列数为2:即是序号、时间两列固定不动
  4. 表格设置:

  5. 每页行数:5

  6. 显示滚动条:√,当记录数大于5时,显示滚动条,可拖动滚动条查看

  7. 手势滑动:√,当记录数大于5时,可以上下滑动表格查看数据

  8. 控制地址:

    • 翻页控制:√,地址为LW1004,UINT16类型

    • 允许翻页:地址为LW1005,UINT16,只读

    • 时间戳定位:√,地址为LW1006,UINT32类型

    • 选中行通知:√,地址为LW1008,UINT32类型

image-20231128174029479

2.1.3.采样使能配置

添加2个位状态指示灯控件,关联LW1000地址,和资料采集配置的“采样控制地址:LW1000对应,配置如下所示:

  1. 读取地址:LW1000
  2. 切换开关:√
  3. 开关类型:设为ON(开始采集)/ 设为OFF(停止采集)

image-20231128174649160

【运行预览】

运行虚拟屏,点击开始采样,表格开始1s记录条记录;拖动水平滚动条可以查看100个通道的数据;点击表格记录,可以显示具体的行号;点击停止采样,表格停止记录,如下所示:

Video_2023-11-28_174939

2.1.4.数据记录-清除/导出记录

添加两个字状态按钮,关联LW1001地址,和资料采集配置的“控制地址LW1001”对应,用于清除/导出(SD卡或U盘),配置如下所示:

  1. 写入地址:LW1001
  2. 操作模式:写入常量
    • 常量值:85(清除)/1(导出)

image-20231128175156479

【运行预览】

运行虚拟屏,点击清除记录,表格数据清空,如下所示:

Video_2023-11-28_175838

2.1.5.数据记录-通道翻页控制

添加4个字按钮控件,均关联LW1004地址,和曲线控件配置的“翻页控制 0x1004”对应,配置如下所示

  1. 写入地址:LW1004

  2. 操作模式:写入常量

    • 常量值:1/2/3/4
  3. 控制权限:√。显示隐藏,表示还有下一页、上一页操作

    • 条件控制:LW1005.1/LW1005.2

    • 比较:==

    • 值:1

image-20231128180122400

【运行预览】

运行虚拟屏,点击上一页、下一页、尾页、首页,滚动条的位置和表格的内容实时刷新,显示效果如下所示:

Video_2023-11-28_180425

2.1.6.历史曲线控件-时间戳定位

添加一个菜单控件,关联地址0xA000,关联到资料采集,通过下拉选中时间,定位到该天数据的第一条记录位置。配置如下所示:

  1. 显示模式:下拉

  2. 写入地址:0xA000

  3. 选项内容:历史数据日期

    • 资料采集所有:[0]数据记录

    • 日期:YYY/MM/DD

    • 排序:时间顺序

image-20231128181616141

【运行预览】

运行虚拟屏,下拉选择某一天数据,垂直滚动条定位到当天第一条记录

[!warning|tip:注意] 实体屏记录N天记录,下拉菜单可选项就有N条

2.2.特殊应用

如上述的应用可知,资料采样要求寄存器地址连续、数据类型是一致(如均是UINT16,或INT32)。

本章节主要针对地址不连续、数据类型不一样举例说明。以PLC Modbus 协议为例,如下所示

名称 电压V 电流A 负载率% 谐波% 功因Φ
数据地址 4x0000 4x0007 4x0015 4x0021 4x0026
数据类型 UINT32 UINT32 UINT16 INT16 UINT32
名称 有功kVar 无功kVar 视在kVar 有功电能%
数据地址 4x0036 4x0038 4x003A 4x0040
数据类型 INT32 INT32 INT32 UINT32

根据上述寄存器类型和地址,可以通过字符串表格,在Lua脚本获取对应的寄存器值,拼接成字符串写到对应地址

2.1.1.资料采集配置

资料采集配置,如下所示:

  1. 描述信息:特殊应用;

  2. 采样模式:定时采样

  3. 记录条数:1000;

  4. 采样周期:1;

  5. 采样单位:秒;

  6. 数据地址:LW2000

    • 数据类型:STRING

    • 数据个数:100

  7. 导出标题:$标题,选择对应的表头标签

  8. 采样控制地址:$SysiteOnline.0 从机在线掩码

    • 启动模式OFF→ON

image-20231128192413906

2.1.2.数据记录控件配置

画面中添加一个数据记录表格,属性配置如下所示:

  1. 数据来源:资料采集,资料取样索引为“[1]特殊应用”

    • 字符串表格:√

      • 字符编码:GB CODE
    • 时间顺序:时间逆序

    • 时间日期:显示时间

  2. 通道数:9。

  3. 自动列宽:不勾选

    • 固定列数为2:即是序号、时间两列固定不动
  4. 每页行数:5

image-20231128193202766

2.1.3.LUA 脚本

详细的LAU API 、语法说明可参考《VisualHMI - LUA教程》

在on_run 回调函数中,获取Modbus 从机寄存器的值,拼接成字符串写到LW2000,其中每一列用";"分割,如下所示

function on_init()
    set_run_cycle(1000) --设置on_run回调触发周期
    start_read(0, VT_4x, 0, 80)--读从站1,保持寄存器0x0000~0x0050的值
end

function on_run(screen)
    local slaveOnile = get_uint16(VT_LW, 0x01A3) & 0x0001 --从机在线状态
    if slaveOnile == 0x01
    then
        select_slave(0) --选择从机1
        local vol = get_uint32(VT_4x, 0x0000)--获取电压
        local cur = get_uint32(VT_4x, 0x0007)--获取电流
        local ed  = get_uint16(VT_4x, 0x0015)--获取负载率
        local thd = get_int16( VT_4x, 0x0021)--获取谐波
        local pf  = get_uint32(VT_4x, 0x0026)--获取功因
        local ap  = get_int32( VT_4x, 0x0036)--获取有功kVar
        local rp  = get_int32( VT_4x, 0x0038)--获取无功kVar
        local vp  = get_int32( VT_4x, 0x003A)--获取视功kVar
        local w   = get_uint32(VT_4x, 0x0040)--获取有功电能

        local rcrd = string.format('%0.2f', vol / 100)..';'.. --拼接字符串
                     string.format('%0.2f', cur / 100)..';'..
                     string.format('%0.1f', ed  / 10 )..';'..
                     string.format('%0.1f', thd / 10 )..';'..
                     string.format('%0.1f', pf  / 100)..';'..
                     string.format('%0.1f', ap  / 100)..';'..
                     string.format('%0.1f', rp  / 100)..';'..
                     string.format('%0.1f', vp  / 100)..';'..
                     string.format('%0.1f', w   / 100)..';'

        set_string(VT_LW, 0x2000, rcrd)--设置到LW2000地址
    end
end

2.1.4.运行预览

运行虚拟屏,屏幕和从机通讯正常,表格实时显示数据,如下所示:

Video_2023-11-28_191532

Copyright ©Dacai all right reserved,powered by Gitbook该文件修订时间: 2023-12-07 19:05:49

results matching ""

    No results matching ""